function func170(e, t, o) {
    var n = o(175);
    n.constants = {}, n.DRAG_RADIUS = 3, n.FLYOUT_DRAG_RADIUS = 10, n.SNAP_RADIUS = 48, n.CONNECTING_SNAP_RADIUS = 68, n.CURRENT_CONNECTION_PREFERENCE = 20, n.BUMP_DELAY = 0, n.COLLAPSE_CHARS = 30, n.LONGPRESS = 750, n.LINE_SCROLL_MULTIPLIER = 15, n.SOUND_LIMIT = 100, n.DRAG_STACK = !0, n.HSV_SATURATION = .45, n.HSV_VALUE = .65, n.SPRITE = {
      width: 96,
      height: 124,
      url: "sprites.png"
    }, n.SVG_NS = "http://www.w3.org/2000/svg", n.HTML_NS = "http://www.w3.org/1999/xhtml", n.INPUT_VALUE = 1, n.OUTPUT_VALUE = 2, n.NEXT_STATEMENT = 3, n.PREVIOUS_STATEMENT = 4, n.DUMMY_INPUT = 5, n.ALIGN_LEFT = -1, n.ALIGN_CENTRE = 0, n.ALIGN_RIGHT = 1, n.DRAG_NONE = 0, n.DRAG_STICKY = 1, n.DRAG_BEGIN = 1, n.DRAG_FREE = 2, n.OPPOSITE_TYPE = [], n.OPPOSITE_TYPE[n.INPUT_VALUE] = n.OUTPUT_VALUE, n.OPPOSITE_TYPE[n.OUTPUT_VALUE] = n.INPUT_VALUE, n.OPPOSITE_TYPE[n.NEXT_STATEMENT] = n.PREVIOUS_STATEMENT, n.OPPOSITE_TYPE[n.PREVIOUS_STATEMENT] = n.NEXT_STATEMENT, n.TOOLBOX_AT_TOP = 0, n.TOOLBOX_AT_BOTTOM = 1, n.TOOLBOX_AT_LEFT = 2, n.TOOLBOX_AT_RIGHT = 3, n.OUTPUT_SHAPE_HEXAGONAL = 1, n.OUTPUT_SHAPE_ROUND = 2, n.OUTPUT_SHAPE_SQUARE = 3, n.Categories = {
      motion: "motion",
      looks: "looks",
      sound: "sounds",
      pen: "pen",
      data: "data",
      dataLists: "data-lists",
      event: "events",
      control: "control",
      sensing: "sensing",
      operators: "operators",
      more: "more"
    }, n.DELETE_AREA_NONE = null, n.DELETE_AREA_TRASH = 1, n.DELETE_AREA_TOOLBOX = 2, n.VARIABLE_CATEGORY_NAME = "VARIABLE", n.PROCEDURE_CATEGORY_NAME = "PROCEDURE", n.RENAME_VARIABLE_ID = "RENAME_VARIABLE_ID", n.DELETE_VARIABLE_ID = "DELETE_VARIABLE_ID", n.NEW_BROADCAST_MESSAGE_ID = "NEW_BROADCAST_MESSAGE_ID", n.BROADCAST_MESSAGE_VARIABLE_TYPE = "broadcast_msg", n.LIST_VARIABLE_TYPE = "list", n.SCALAR_VARIABLE_TYPE = "", n.PROCEDURES_DEFINITION_BLOCK_TYPE = "procedures_definition", n.PROCEDURES_PROTOTYPE_BLOCK_TYPE = "procedures_prototype", n.PROCEDURES_CALL_BLOCK_TYPE = "procedures_call", n.StatusButtonState = {
      READY: "ready",
      NOT_READY: "not ready"
    }, n.Blocks.colour = {}, n.Blocks.colour_picker = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_colour_slider",
            name: "COLOUR",
            colour: "#" + ("00000" + Math.floor(Math.random() * Math.pow(2, 24))
                .toString(16))
              .substr(-6)
          }],
          outputShape: n.OUTPUT_SHAPE_ROUND,
          output: "Colour"
        })
      }
    }, n.Colours = {
      motion: {
        primary: "#4C97FF",
        secondary: "#4280D7",
        tertiary: "#3373CC"
      },
      looks: {
        primary: "#9966FF",
        secondary: "#855CD6",
        tertiary: "#774DCB"
      },
      sounds: {
        primary: "#CF63CF",
        secondary: "#C94FC9",
        tertiary: "#BD42BD"
      },
      control: {
        primary: "#FFAB19",
        secondary: "#EC9C13",
        tertiary: "#CF8B17"
      },
      event: {
        primary: "#FFBF00",
        secondary: "#E6AC00",
        tertiary: "#CC9900"
      },
      sensing: {
        primary: "#5CB1D6",
        secondary: "#47A8D1",
        tertiary: "#2E8EB8"
      },
      pen: {
        primary: "#0fBD8C",
        secondary: "#0DA57A",
        tertiary: "#0B8E69"
      },
      operators: {
        primary: "#59C059",
        secondary: "#46B946",
        tertiary: "#389438"
      },
      data: {
        primary: "#FF8C1A",
        secondary: "#FF8000",
        tertiary: "#DB6E00"
      },
      data_lists: {
        primary: "#FF661A",
        secondary: "#FF5500",
        tertiary: "#E64D00"
      },
      more: {
        primary: "#FF6680",
        secondary: "#FF4D6A",
        tertiary: "#FF3355"
      },
      text: "#575E75",
      workspace: "#F9F9F9",
      toolboxHover: "#4C97FF",
      toolboxSelected: "#e9eef2",
      toolboxText: "#575E75",
      toolbox: "#FFFFFF",
      flyout: "#F9F9F9",
      scrollbar: "#CECDCE",
      scrollbarHover: "#CECDCE",
      textField: "#FFFFFF",
      insertionMarker: "#000000",
      insertionMarkerOpacity: .2,
      dragShadowOpacity: .3,
      stackGlow: "#FFF200",
      stackGlowSize: 4,
      stackGlowOpacity: 1,
      replacementGlow: "#FFFFFF",
      replacementGlowSize: 2,
      replacementGlowOpacity: 1,
      colourPickerStroke: "#FFFFFF",
      fieldShadow: "rgba(0,0,0,0.1)",
      dropDownShadow: "rgba(0, 0, 0, .3)",
      numPadBackground: "#547AB2",
      numPadBorder: "#435F91",
      numPadActiveBackground: "#435F91",
      numPadText: "white",
      valueReportBackground: "#FFFFFF",
      valueReportBorder: "#AAAAAA"
    }, n.Colours.overrideColours = function(e) {
      if (e)
        for (var t in e)
          if (e.hasOwnProperty(t) && n.Colours.hasOwnProperty(t)) {
            var o = e[t];
            if (goog.isObject(o))
              for (var i in o) o.hasOwnProperty(i) && n.Colours[t].hasOwnProperty(i) && (n.Colours[t][i] = o[i]);
            else n.Colours[t] = o
          }
    }, n.Blocks.math = {}, n.Blocks.math_number = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_number",
            name: "NUM",
            value: "0"
          }],
          output: "Number",
          outputShape: n.OUTPUT_SHAPE_ROUND,
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, n.Blocks.math_integer = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_number",
            name: "NUM",
            precision: 1
          }],
          output: "Number",
          outputShape: n.OUTPUT_SHAPE_ROUND,
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, n.Blocks.math_whole_number = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_number",
            name: "NUM",
            min: 0,
            precision: 1
          }],
          output: "Number",
          outputShape: n.OUTPUT_SHAPE_ROUND,
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, n.Blocks.math_positive_number = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_number",
            name: "NUM",
            min: 0
          }],
          output: "Number",
          outputShape: n.OUTPUT_SHAPE_ROUND,
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, n.Blocks.math_angle = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_angle",
            name: "NUM",
            value: 90
          }],
          output: "Number",
          outputShape: n.OUTPUT_SHAPE_ROUND,
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, n.Blocks.matrix = {}, n.Blocks.matrix = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_matrix",
            name: "MATRIX"
          }],
          outputShape: n.OUTPUT_SHAPE_ROUND,
          output: "Number",
          extensions: ["colours_pen"]
        })
      }
    }, n.Blocks.note = {}, n.Blocks.note = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_note",
            name: "NOTE",
            value: 60
          }],
          outputShape: n.OUTPUT_SHAPE_ROUND,
          output: "Number",
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, n.Blocks.texts = {}, n.Blocks.text = {
      init: function() {
        this.jsonInit({
          message0: "%1",
          args0: [{
            type: "field_input",
            name: "TEXT"
          }],
          output: "String",
          outputShape: n.OUTPUT_SHAPE_ROUND,
          colour: n.Colours.textField,
          colourSecondary: n.Colours.textField,
          colourTertiary: n.Colours.textField
        })
      }
    }, e.exports = n
  }